Simple Generational Garbage Collection and Fast Allocation

نویسنده

  • Andrew W. Appel
چکیده

Generational garbage collection algorithms achieve efficiency because newer records point to older records; the only way an older record can point to a newer record is by a store operation to a previously-created record, and such operations are rare in many languages. A garbage collector that concentrates just on recently allocated records can take advantage of this fact. Such a garbage collector can be so efficient that the allocation of records costs more than their disposal. A scheme for quick record allocation attacks this bottleneck. Many garbage-collected environments don’t know when to ask the operating system for more memory. A robust heuristic solves this problem. This paper presents a simple, efficient, low-overhead version of generational garbage collection with fast allocation, suitable for implementation in a Unix environment.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generational Garbage Collection without Temporary Space Leaks for Lazy Functional Languages

Generational garbage collection is an established method for creating eecient garbage collectors. Even a simple implementation where all nodes that survive one garbage collection are tenured, i.e., moved to an old generation , works well in strict languages. In lazy languages, however, such an implementation can create severe temporary space leaks. The temporary space leaks appear in programs t...

متن کامل

Generational Garbage Collection for Lazy Functional Languages without Temporary Space Leaks

Generational garbage collection is an established method for creating eecient garbage collectors. Even a simple implementation where all nodes that survive one garbage collection are tenured, i.e., moved to an old generation, works well in strict languages. In a lazy language, however, such an implementation can create severe temporary space leaks. The temporary space leaks appear in programs t...

متن کامل

Generational Real-Time Garbage Collection A Three-Part Invention for Young Objects

While real-time garbage collection is now available in production virtual machines, the lack of generational capability means applications with high allocation rates are subject to reduced throughput and high space overheads. Since frequent allocation is often correlated with a high-level, objectoriented style of programming, this can force builders of real-time systems to compromise on softwar...

متن کامل

Improving the Performance of Conservative Generational Garbage Collection ; CU-CS-784-95

As object oriented features are added to programming languages such as C demands upon dynamic memory allocation systems increase Prototyping languages such as Smalltalk and LISP have long rec ognized the impact of garbage collection on improving reliability and programmer productivity but providing garbage collection in C is hard because pointers are di cult to reliably identify Conser vative g...

متن کامل

Improving the Performance of Conservative Generational Garbage Collection

As object oriented features are added to programming languages such as C demands upon dynamic memory allocation systems increase Prototyping languages such as Smalltalk and LISP have long rec ognized the impact of garbage collection on improving reliability and programmer productivity but providing garbage collection in C is hard because pointers are di cult to reliably identify Conser vative g...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softw., Pract. Exper.

دوره 19  شماره 

صفحات  -

تاریخ انتشار 1989